In the field of computers, programs are known that allow to instruct one or more first computer devices to execute one or more tasks from a remote second computer device. An example of such a program is RES Wisdom®, marketed by the applicant.
One or more of such tasks to be executed by the first computer device(s) are often referred to as a job. After execution of a job by one or more of the first computer devices, the state of a first computer device is changed and the job is registered at the second computer device in a database in order to enable an operator to retrieve a job history for one or more of the first computer devices. Such a job history provides valuable information for an operator e.g. in case of operating problems of the first computer device(s). Therefore, it is important that the database allows retrieval of a job history that is an accurate representation of the true state of the first computer device.
By executing various jobs, the states of the first computer device change from a first state to a second state to a third state on to a present state. Nowadays it has become possible to make snapshots of particular states of the first computer device in order to record such a state.
An operator or user of the first computer device may desire the device to return from the present state to a previous state that was recorded by means of the snapshot technique. The operator or user is allowed to switch back and forth between states of the computer by applying snapshots. Such switching may e.g. be applied for testing purposes.
A simple example may illustrate that switching from a present state to a previous state (a state transition) at the first computer device complicates accurate registering of the job history of the first computer device by a second computer device.
Assume that a software agent on the first computer device executes jobs A, B and C. These jobs are also recorded in a database of the second remote computer device. A snapshot S1 at the first computer device is made after execution of job C. Subsequently, jobs D and E are performed, such that the job history of the first computer device is A, B, C, D, E. The registered job history in the database also reads A, B, C, D, E and thus corresponds to the actual state of the first computer device. Now a snapshot S1 is applied which triggers a state transition of the first computer device back to state A, B, C. The registered history, however, still reads A, B, C, D, E. If the software agent on the first computer subsequently executes a job F, the registered history is A, B, C, D, E, F, while the actual state of the first computer device is A, B, C, F. If snapshot S1 is applied once more, the first computer device has a state A, B, C, whereas the job history in the database is still A, B, C, D, E, F.
Consequently, there exists a need in the art to provide a method and system of tracking and communicating computing states from a first computer device to a second computer device such that the state of the first computer device is accurately known at the second computer device despite a state transition to a previous state for the first computer device.